In a cable-TV headend, typically there are a number of devices, including satellite-, terrestrial- and/or fiber-receivers, which provide raw streams for the channels and stations required by the cable-TV channel line-up. In some cases, these raw signals are sent directly to the customer premise set-top-box equipment for display to the end user. However, typically these direct signals are very wasteful of network resources. They also do not provide for adaptive bit rate, where the same stream is encoded at different bitrates and resolutions to provide flawless streaming in spite of variations in the network performance in transferring the streams to the end-user's customer premise equipment (CPE).
To address this, and to ensure that all the signals follow the same standard of encoding, the raw signals are typically passed through a set of encoders or transcoders, which are configured to output the streams with the required video and audio codecs, at the required set of bitrates and resolutions. The resulting outputs are then multiplexed into the desired streaming format, which may include but is not limited to video in the MPEG4 ASP, MPEG4 AVC, MPEG4 HEVC formats and audio in the MPEG1, MPEG2, MPEG4 AAC formats, though any other video and audio codecs may be used. For example, if a cable TV system is using a digital transmission method to their customers, and the customers have customer premise equipment (CPEs) that support playback of MPEG4 AVC video, MPEG4 AAC audio in a MPEG2 Transport Stream, then the encoders or transcoders would input the various formats provided by the various receivers, and output a standard MPEG2 Transport Stream containing the required codecs.
Segmenting video into small chunks and then sending the small chunks over the internet has become a popular way to deliver video. Examples of segmented video streaming standards include the HTTP Live Streaming standard (HLS), MPEG-DASH, and Smooth Streaming. A segmentation server receives a video stream as input, and then creates segments or chunks. The segmentation server creates the segments, and stores them on a disk, in computer RAM or in some other method of storage as needed. As the segments are created, a playlist file is maintained that lists the available chunks, and addresses where the chunks can be accessed by a requestor. One advantage that segmented video delivery has over linear video delivery (e.g. delivery via unicast, multicast or http chunked transfer encoding) is that the playlists, and video chunks can be delivered using ubiquitous http servers and caching technology.